import hashlib, base64, random, string
from application import app

class UserService():

    # 用户令牌加密
    @staticmethod
    def geneAuthCode(user_info=None):
        m = hashlib.md5()
        str = "%s-%s-%s-%s" % (user_info.uid, user_info.login_name, user_info.login_pwd, user_info.login_salt)
        m.update(str.encode("utf-8"))
        return m.hexdigest()

    # 密码加密 md5 || base64
    @staticmethod
    def genePwd(pwd, salt):
        m = hashlib.md5()
        str = "%s-%s" % (base64.encodebytes(pwd.encode("utf-8")), salt)
        m.update(str.encode("utf-8"))
        return m.hexdigest()

    # 暂时没看懂
    @staticmethod
    def geneSalt(length=16):
        keylist = [random.choice( ( string.ascii_letters + string.digits )) for i in range( length )]
        app.logger.info(keylist)
        return ("".join( keylist ))
